home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.4)
-
- from test import test_support
- import unittest
- import codecs
- import sys
- import StringIO
-
- class Queue(object):
- '''
- queue: write bytes at one end, read bytes from the other end
- '''
-
- def __init__(self):
- self._buffer = ''
-
-
- def write(self, chars):
- self._buffer += chars
-
-
- def read(self, size = -1):
- if size < 0:
- s = self._buffer
- self._buffer = ''
- return s
- else:
- s = self._buffer[:size]
- self._buffer = self._buffer[size:]
- return s
-
-
-
- class ReadTest(unittest.TestCase):
-
- def test_seek(self):
- s = u'%s\n%s\n' % (100 * u'abc123', 100 * u'def456')
- encoding = self.encoding
- reader = codecs.getreader(encoding)(StringIO.StringIO(s.encode(encoding)))
- for t in xrange(5):
- reader.seek(0, 0)
- line = reader.readline()
- self.assertEqual(s[:len(line)], line)
-
-
-
- def check_partial(self, input, partialresults):
- q = Queue()
- r = codecs.getreader(self.encoding)(q)
- result = u''
- for c, partialresult in zip(input.encode(self.encoding), partialresults):
- q.write(c)
- result += r.read()
- self.assertEqual(result, partialresult)
-
- self.assertEqual(r.read(), u'')
- self.assertEqual(r.bytebuffer, '')
- self.assertEqual(r.charbuffer, u'')
-
-
- def test_readline(self):
-
- def getreader(input):
- stream = StringIO.StringIO(input.encode(self.encoding))
- return codecs.getreader(self.encoding)(stream)
-
-
- def readalllines(input, keepends = True):
- reader = getreader(input)
- lines = []
- while True:
- line = reader.readline(keepends = keepends)
- if not line:
- break
-
- lines.append(line)
- return ''.join(lines)
-
- s = u'foo\nbar\r\nbaz\rspam
eggs'
- self.assertEqual(readalllines(s, True), s)
- self.assertEqual(readalllines(s, False), u'foobarbazspameggs')
- vw = []
- vwo = []
- for i, lineend in enumerate(u'\n \r\n \r ΓÇ¿'.split()):
- vw.append(i * 200 * u'Ä2' + lineend)
- vwo.append(i * 200 * u'Ä2')
-
- self.assertEqual(readalllines(''.join(vw), True), ''.join(vw))
- self.assertEqual(readalllines(''.join(vw), False), ''.join(vwo))
- for size in xrange(80):
- for lineend in u'\n \r\n \r ΓÇ¿'.split():
- s = 10 * (size * u'a' + lineend + u'xxx\n')
- reader = getreader(s)
- for i in xrange(10):
- self.assertEqual(reader.readline(keepends = True), size * u'a' + lineend)
-
- reader = getreader(s)
- for i in xrange(10):
- self.assertEqual(reader.readline(keepends = False), size * u'a')
-
-
-
-
-
- def test_bug1175396(self):
- s = [
- '<%!--===================================================\r\n',
- ' BLOG index page: show recent articles,\r\n',
- " today's articles, or articles of a specific date.\r\n",
- '========================================================--%>\r\n',
- '<%@inputencoding="ISO-8859-1"%>\r\n',
- '<%@pagetemplate=TEMPLATE.y%>\r\n',
- '<%@import=import frog.util, frog%>\r\n',
- '<%@import=import frog.objects%>\r\n',
- '<%@import=from frog.storageerrors import StorageError%>\r\n',
- '<%\r\n',
- '\r\n',
- 'import logging\r\n',
- 'log=logging.getLogger("Snakelets.logger")\r\n',
- '\r\n',
- '\r\n',
- 'user=self.SessionCtx.user\r\n',
- 'storageEngine=self.SessionCtx.storageEngine\r\n',
- '\r\n',
- '\r\n',
- 'def readArticlesFromDate(date, count=None):\r\n',
- ' entryids=storageEngine.listBlogEntries(date)\r\n',
- ' entryids.reverse() # descending\r\n',
- ' if count:\r\n',
- ' entryids=entryids[:count]\r\n',
- ' try:\r\n',
- ' return [ frog.objects.BlogEntry.load(storageEngine, date, Id) for Id in entryids ]\r\n',
- ' except StorageError,x:\r\n',
- ' log.error("Error loading articles: "+str(x))\r\n',
- ' self.abort("cannot load articles")\r\n',
- '\r\n',
- 'showdate=None\r\n',
- '\r\n',
- 'arg=self.Request.getArg()\r\n',
- 'if arg=="today":\r\n',
- " #-------------------- TODAY'S ARTICLES\r\n",
- ' self.write("<h2>Today\'s articles</h2>")\r\n',
- ' showdate = frog.util.isodatestr() \r\n',
- ' entries = readArticlesFromDate(showdate)\r\n',
- 'elif arg=="active":\r\n',
- ' #-------------------- ACTIVE ARTICLES redirect\r\n',
- ' self.Yredirect("active.y")\r\n',
- 'elif arg=="login":\r\n',
- ' #-------------------- LOGIN PAGE redirect\r\n',
- ' self.Yredirect("login.y")\r\n',
- 'elif arg=="date":\r\n',
- ' #-------------------- ARTICLES OF A SPECIFIC DATE\r\n',
- ' showdate = self.Request.getParameter("date")\r\n',
- ' self.write("<h2>Articles written on %s</h2>"% frog.util.mediumdatestr(showdate))\r\n',
- ' entries = readArticlesFromDate(showdate)\r\n',
- 'else:\r\n',
- ' #-------------------- RECENT ARTICLES\r\n',
- ' self.write("<h2>Recent articles</h2>")\r\n',
- ' dates=storageEngine.listBlogEntryDates()\r\n',
- ' if dates:\r\n',
- ' entries=[]\r\n',
- ' SHOWAMOUNT=10\r\n',
- ' for showdate in dates:\r\n',
- ' entries.extend( readArticlesFromDate(showdate, SHOWAMOUNT-len(entries)) )\r\n',
- ' if len(entries)>=SHOWAMOUNT:\r\n',
- ' break\r\n',
- ' \r\n']
- stream = StringIO.StringIO(''.join(s).encode(self.encoding))
- reader = codecs.getreader(self.encoding)(stream)
- for i, line in enumerate(reader):
- self.assertEqual(line, s[i])
-
-
-
- def test_readlinequeue(self):
- q = Queue()
- writer = codecs.getwriter(self.encoding)(q)
- reader = codecs.getreader(self.encoding)(q)
- writer.write(u'foo\r')
- self.assertEqual(reader.readline(keepends = False), u'foo')
- writer.write(u'\nbar\r')
- self.assertEqual(reader.readline(keepends = False), u'')
- self.assertEqual(reader.readline(keepends = False), u'bar')
- writer.write(u'baz')
- self.assertEqual(reader.readline(keepends = False), u'baz')
- self.assertEqual(reader.readline(keepends = False), u'')
- writer.write(u'foo\r')
- self.assertEqual(reader.readline(keepends = True), u'foo\r')
- writer.write(u'\nbar\r')
- self.assertEqual(reader.readline(keepends = True), u'\n')
- self.assertEqual(reader.readline(keepends = True), u'bar\r')
- writer.write(u'baz')
- self.assertEqual(reader.readline(keepends = True), u'baz')
- self.assertEqual(reader.readline(keepends = True), u'')
- writer.write(u'foo\r\n')
- self.assertEqual(reader.readline(keepends = True), u'foo\r\n')
-
-
- def test_bug1098990_a(self):
- s1 = u'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\r\n'
- s2 = u'offending line: ladfj askldfj klasdj fskla dfzaskdj fasklfj laskd fjasklfzzzzaa%whereisthis!!!\r\n'
- s3 = u'next line.\r\n'
- s = (s1 + s2 + s3).encode(self.encoding)
- stream = StringIO.StringIO(s)
- reader = codecs.getreader(self.encoding)(stream)
- self.assertEqual(reader.readline(), s1)
- self.assertEqual(reader.readline(), s2)
- self.assertEqual(reader.readline(), s3)
- self.assertEqual(reader.readline(), u'')
-
-
- def test_bug1098990_b(self):
- s1 = u'aaaaaaaaaaaaaaaaaaaaaaaa\r\n'
- s2 = u'bbbbbbbbbbbbbbbbbbbbbbbb\r\n'
- s3 = u'stillokay:bbbbxx\r\n'
- s4 = u'broken!!!!badbad\r\n'
- s5 = u'againokay.\r\n'
- s = (s1 + s2 + s3 + s4 + s5).encode(self.encoding)
- stream = StringIO.StringIO(s)
- reader = codecs.getreader(self.encoding)(stream)
- self.assertEqual(reader.readline(), s1)
- self.assertEqual(reader.readline(), s2)
- self.assertEqual(reader.readline(), s3)
- self.assertEqual(reader.readline(), s4)
- self.assertEqual(reader.readline(), s5)
- self.assertEqual(reader.readline(), u'')
-
-
-
- class UTF16Test(ReadTest):
- encoding = 'utf-16'
- spamle = '\xff\xfes\x00p\x00a\x00m\x00s\x00p\x00a\x00m\x00'
- spambe = '\xfe\xff\x00s\x00p\x00a\x00m\x00s\x00p\x00a\x00m'
-
- def test_only_one_bom(self):
- (_, _, reader, writer) = codecs.lookup(self.encoding)
- s = StringIO.StringIO()
- f = writer(s)
- f.write(u'spam')
- f.write(u'spam')
- d = s.getvalue()
- if not d == self.spamle:
- pass
- self.assert_(d == self.spambe)
- s = StringIO.StringIO(d)
- f = reader(s)
- self.assertEquals(f.read(), u'spamspam')
-
-
- def test_partial(self):
- self.check_partial(u'\x00ÿĀ￿', [
- u'',
- u'',
- u'',
- u'\x00',
- u'\x00',
- u'\x00├┐',
- u'\x00├┐',
- u'\x00├┐─Ç',
- u'\x00├┐─Ç',
- u'\x00ÿĀ￿'])
-
-
-
- class UTF16LETest(ReadTest):
- encoding = 'utf-16-le'
-
- def test_partial(self):
- self.check_partial(u'\x00ÿĀ￿', [
- u'',
- u'\x00',
- u'\x00',
- u'\x00├┐',
- u'\x00├┐',
- u'\x00├┐─Ç',
- u'\x00├┐─Ç',
- u'\x00ÿĀ￿'])
-
-
-
- class UTF16BETest(ReadTest):
- encoding = 'utf-16-be'
-
- def test_partial(self):
- self.check_partial(u'\x00ÿĀ￿', [
- u'',
- u'\x00',
- u'\x00',
- u'\x00├┐',
- u'\x00├┐',
- u'\x00├┐─Ç',
- u'\x00├┐─Ç',
- u'\x00ÿĀ￿'])
-
-
-
- class UTF8Test(ReadTest):
- encoding = 'utf-8'
-
- def test_partial(self):
- self.check_partial(u'\x00ÿ߿ࠀ￿', [
- u'\x00',
- u'\x00',
- u'\x00├┐',
- u'\x00├┐',
- u'\x00├┐▀┐',
- u'\x00├┐▀┐',
- u'\x00├┐▀┐',
- u'\x00ÿ߿ࠀ',
- u'\x00ÿ߿ࠀ',
- u'\x00ÿ߿ࠀ',
- u'\x00ÿ߿ࠀ￿'])
-
-
-
- class EscapeDecodeTest(unittest.TestCase):
-
- def test_empty_escape_decode(self):
- self.assertEquals(codecs.escape_decode(''), ('', 0))
-
-
-
- class RecodingTest(unittest.TestCase):
-
- def test_recoding(self):
- f = StringIO.StringIO()
- f2 = codecs.EncodedFile(f, 'unicode_internal', 'utf-8')
- f2.write(u'a')
- f2.close()
-
-
- punycode_testcases = [
- (u'ليهمابتكلموشعربي؟', 'egbpdaj6bu4bxfgehfvwxn'),
- (u'他们为什么不说中文', 'ihqwcrb4cv8a8dqg056pqjye'),
- (u'他們爲什麽不說中文', 'ihqwctvzc91f659drss3x8bo0yb'),
- (u'Pročprostěnemluvíčesky', 'Proprostnemluvesky-uyb24dma41a'),
- (u'למההםפשוטלאמדבריםעברית', '4dbcagdahymbxekheh6e0a7fei0b'),
- (u'यहलोगहिन्दीक्योंनहींबोलसकतेहैं', 'i1baa7eci9glrd9b2ae1bj0hfcgg6iyaf8o0a1dig0cd'),
- (u'なぜみんな日本語を話してくれないのか', 'n8jok5ay5dzabd5bym9f0cm5685rrjetr6pdxa'),
- (u'세계의모든사람들이한국어를이해한다면얼마나좋을까', '989aomsvi5e83db1d2a355cv1e0vak1dwrv93d5xbh15a0dt30a5jpsd879ccm6fea98c'),
- (u'почемужеонинеговорятпорусски', 'b1abfaaepdrnnbgefbaDotcwatmq2g4l'),
- (u'PorquénopuedensimplementehablarenEspañol', 'PorqunopuedensimplementehablarenEspaol-fmd56a'),
- (u'TạisaohọkhôngthểchỉnóitiếngViệt', 'TisaohkhngthchnitingVit-kjcr8268qyxafd2f1b9g'),
- (u'3年B組金八先生', '3B-ww4c5e180e575a65lsy2b'),
- (u'安室奈美恵-with-SUPER-MONKEYS', '-with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n'),
- (u'Hello-Another-Way-それぞれの場所', 'Hello-Another-Way--fc4qua05auwb3674vfr0b'),
- (u'ひとつ屋根の下2', '2-u9tlzr9756bt3uc0v'),
- (u'MajiでKoiする5秒前', 'MajiKoi5-783gue6qz075azm5e'),
- (u'パフィーdeルンバ', 'de-jg4avhby1noc0d'),
- (u'そのスピードで', 'd9juau41awczczp'),
- (u'-> $1.00 <-', '-> $1.00 <--')]
- for i in punycode_testcases:
- if len(i) != 2:
- print repr(i)
-
-
-
- class PunycodeTest(unittest.TestCase):
-
- def test_encode(self):
- for uni, puny in punycode_testcases:
- self.assertEquals(uni.encode('punycode').lower(), puny.lower())
-
-
-
- def test_decode(self):
- for uni, puny in punycode_testcases:
- self.assertEquals(uni, puny.decode('punycode'))
-
-
-
-
- class UnicodeInternalTest(unittest.TestCase):
-
- def test_bug1251300(self):
- if sys.maxunicode > 65535:
- ok = [
- ('\x00\x10\xff\xff', u'􏿿'),
- ('\x00\x00\x01\x01', u'─ü'),
- ('', u'')]
- not_ok = [
- '\x7f\xff\xff\xff',
- '\x80\x00\x00\x00',
- '\x81\x00\x00\x00',
- '\x00',
- '\x00\x00\x00\x00\x00']
- for internal, uni in ok:
- if sys.byteorder == 'little':
- internal = ''.join(reversed(internal))
-
- self.assertEquals(uni, internal.decode('unicode_internal'))
-
- for internal in not_ok:
- if sys.byteorder == 'little':
- internal = ''.join(reversed(internal))
-
- self.assertRaises(UnicodeDecodeError, internal.decode, 'unicode_internal')
-
-
-
-
- def test_decode_error_attributes(self):
- if sys.maxunicode > 65535:
-
- try:
- '\x00\x00\x00\x00\x00\x11\x11\x00'.decode('unicode_internal')
- except UnicodeDecodeError:
- ex = None
- self.assertEquals('unicode_internal', ex.encoding)
- self.assertEquals('\x00\x00\x00\x00\x00\x11\x11\x00', ex.object)
- self.assertEquals(4, ex.start)
- self.assertEquals(8, ex.end)
-
- self.fail()
-
-
-
- def test_decode_callback(self):
- if sys.maxunicode > 65535:
- codecs.register_error('UnicodeInternalTest', codecs.ignore_errors)
- decoder = codecs.getdecoder('unicode_internal')
- ab = u'ab'.encode('unicode_internal')
- ignored = decoder('%s""""%s' % (ab[:4], ab[4:]), 'UnicodeInternalTest')
- self.assertEquals((u'ab', 12), ignored)
-
-
-
- nameprep_tests = [
- ('foo\xc2\xad\xcd\x8f\xe1\xa0\x86\xe1\xa0\x8bbar\xe2\x80\x8b\xe2\x81\xa0baz\xef\xb8\x80\xef\xb8\x88\xef\xb8\x8f\xef\xbb\xbf', 'foobarbaz'),
- ('CAFE', 'cafe'),
- ('\xc3\x9f', 'ss'),
- ('\xc4\xb0', 'i\xcc\x87'),
- ('\xc5\x83\xcd\xba', '\xc5\x84 \xce\xb9'),
- (None, None),
- ('j\xcc\x8c\xc2\xa0\xc2\xaa', '\xc7\xb0 a'),
- ('\xe1\xbe\xb7', '\xe1\xbe\xb6\xce\xb9'),
- ('\xc7\xb0', '\xc7\xb0'),
- ('\xce\x90', '\xce\x90'),
- ('\xce\xb0', '\xce\xb0'),
- ('\xe1\xba\x96', '\xe1\xba\x96'),
- ('\xe1\xbd\x96', '\xe1\xbd\x96'),
- (' ', ' '),
- ('\xc2\xa0', ' '),
- ('\xe1\x9a\x80', None),
- ('\xe2\x80\x80', ' '),
- ('\xe2\x80\x8b', ''),
- ('\xe3\x80\x80', ' '),
- ('\x10\x7f', '\x10\x7f'),
- ('\xc2\x85', None),
- ('\xe1\xa0\x8e', None),
- ('\xef\xbb\xbf', ''),
- ('\xf0\x9d\x85\xb5', None),
- ('\xef\x84\xa3', None),
- ('\xf3\xb1\x88\xb4', None),
- ('\xf4\x8f\x88\xb4', None),
- ('\xf2\x8f\xbf\xbe', None),
- ('\xf4\x8f\xbf\xbf', None),
- ('\xed\xbd\x82', None),
- ('\xef\xbf\xbd', None),
- ('\xe2\xbf\xb5', None),
- ('\xcd\x81', '\xcc\x81'),
- ('\xe2\x80\x8e', None),
- ('\xe2\x80\xaa', None),
- ('\xf3\xa0\x80\x81', None),
- ('\xf3\xa0\x81\x82', None),
- ('foo\xd6\xbebar', None),
- ('foo\xef\xb5\x90bar', None),
- ('foo\xef\xb9\xb6bar', 'foo \xd9\x8ebar'),
- ('\xd8\xa71', None),
- ('\xd8\xa71\xd8\xa8', '\xd8\xa71\xd8\xa8'),
- (None, None),
- ('X\xc2\xad\xc3\x9f\xc4\xb0\xe2\x84\xa1j\xcc\x8c\xc2\xa0\xc2\xaa\xce\xb0\xe2\x80\x80', 'xssi\xcc\x87tel\xc7\xb0 a\xce\xb0 '),
- ('X\xc3\x9f\xe3\x8c\x96\xc4\xb0\xe2\x84\xa1\xe2\x92\x9f\xe3\x8c\x80', 'xss\xe3\x82\xad\xe3\x83\xad\xe3\x83\xa1\xe3\x83\xbc\xe3\x83\x88\xe3\x83\xabi\xcc\x87tel(d)\xe3\x82\xa2\xe3\x83\x91\xe3\x83\xbc\xe3\x83\x88')]
-
- class NameprepTest(unittest.TestCase):
-
- def test_nameprep(self):
- nameprep = nameprep
- import encodings.idna
- for orig, prepped in enumerate(nameprep_tests):
- if orig is None:
- continue
-
- orig = unicode(orig, 'utf-8')
- if prepped is None:
- self.assertRaises(UnicodeError, nameprep, orig)
- continue
- prepped = unicode(prepped, 'utf-8')
-
- try:
- self.assertEquals(nameprep(orig), prepped)
- continue
- except Exception:
- e = None
- raise test_support.TestFailed('Test 3.%d: %s' % (pos + 1, str(e)))
- continue
-
-
-
-
-
-
- class CodecTest(unittest.TestCase):
-
- def test_builtin(self):
- self.assertEquals(unicode('python.org', 'idna'), u'python.org')
-
-
- def test_stream(self):
- import StringIO
- r = codecs.getreader('idna')(StringIO.StringIO('abc'))
- r.read(3)
- self.assertEquals(r.read(), u'')
-
-
-
- class CodecsModuleTest(unittest.TestCase):
-
- def test_decode(self):
- self.assertEquals(codecs.decode('\xe4\xf6\xfc', 'latin-1'), u'äöü')
- self.assertRaises(TypeError, codecs.decode)
- self.assertEquals(codecs.decode('abc'), u'abc')
- self.assertRaises(UnicodeDecodeError, codecs.decode, '\xff', 'ascii')
-
-
- def test_encode(self):
- self.assertEquals(codecs.encode(u'äöü', 'latin-1'), '\xe4\xf6\xfc')
- self.assertRaises(TypeError, codecs.encode)
- self.assertEquals(codecs.encode(u'abc'), 'abc')
- self.assertRaises(UnicodeEncodeError, codecs.encode, u'├┐ff', 'ascii')
-
-
- def test_register(self):
- self.assertRaises(TypeError, codecs.register)
-
-
- def test_lookup(self):
- self.assertRaises(TypeError, codecs.lookup)
- self.assertRaises(LookupError, codecs.lookup, '__spam__')
-
-
-
- class StreamReaderTest(unittest.TestCase):
-
- def setUp(self):
- self.reader = codecs.getreader('utf-8')
- self.stream = StringIO.StringIO('\xed\x95\x9c\n\xea\xb8\x80')
-
-
- def test_readlines(self):
- f = self.reader(self.stream)
- self.assertEquals(f.readlines(), [
- u'φò£\n',
- u'글'])
-
-
-
- class Str2StrTest(unittest.TestCase):
-
- def test_read(self):
- sin = '\x80'.encode('base64_codec')
- reader = codecs.getreader('base64_codec')(StringIO.StringIO(sin))
- sout = reader.read()
- self.assertEqual(sout, '\x80')
- self.assert_(isinstance(sout, str))
-
-
- def test_readline(self):
- sin = '\x80'.encode('base64_codec')
- reader = codecs.getreader('base64_codec')(StringIO.StringIO(sin))
- sout = reader.readline()
- self.assertEqual(sout, '\x80')
- self.assert_(isinstance(sout, str))
-
-
-
- def test_main():
- test_support.run_unittest(UTF16Test, UTF16LETest, UTF16BETest, UTF8Test, EscapeDecodeTest, RecodingTest, PunycodeTest, UnicodeInternalTest, NameprepTest, CodecTest, CodecsModuleTest, StreamReaderTest, Str2StrTest)
-
- if __name__ == '__main__':
- test_main()
-
-